Skip to content

fix(isaaclab_physx): only unsubscribe _on_stop to preserve warm_start callback#5370

Closed
preeves-nv wants to merge 418 commits intoisaac-sim:mainfrom
preeves-nv:preeves/fix-simulation-manager-on-stop
Closed

fix(isaaclab_physx): only unsubscribe _on_stop to preserve warm_start callback#5370
preeves-nv wants to merge 418 commits intoisaac-sim:mainfrom
preeves-nv:preeves/fix-simulation-manager-on-stop

Conversation

@preeves-nv
Copy link
Copy Markdown
Collaborator

Summary

This PR fixes a side-effect introduced in #5358 where disabling all SimulationManager default callbacks also disables the warm_start (PLAY) callback, breaking the rendering pipeline on sim.reset().

Root cause

enable_all_default_callbacks(False) disables four callbacks:

  • _default_callback_warm_start (PLAY) — needed to initialise the rendering pipeline
  • _default_callback_on_stop (STOP) — the one that calls invalidate_physics() and wrecks the shared omni.physics.tensors view
  • _default_callback_stage_open
  • _default_callback_stage_close

Disabling warm_start causes tiled-camera RGB output to stay black, failing the rendering/camera CI tests.

Fix

Replace the blanket enable_all_default_callbacks(False) with a targeted unsubscribe of _default_callback_on_stop only. Carb subscription objects unsubscribe on destruction — setting the attribute to None drops the reference and silently cancels the subscription.

All other callbacks (warm_start, stage_open, stage_close) are left intact.

Expected CI impact

This should fix the following failures seen in #5358:

  • isaaclab_visualizers
  • isaaclab (core) [1/3]test_tiled_camera, test_multi_tiled_camera, test_first_frame_textured_rendering, test_visualization_markers, test_ray_caster_camera
  • isaaclab_tasks [1/3], [2/3], [3/3]
  • isaaclab_physx
  • environments_training

Note: test_ray_caster_camera (16/23 passing) may have a pre-existing partial failure unrelated to this patch.

Related

Test plan

  • CI passes isaaclab_visualizers
  • CI passes isaaclab (core) [1/3] camera tests
  • CI passes isaaclab_physx
  • test_ray_caster_camera result compared against baseline

🤖 Generated with Claude Code

ncournia-nv and others added 30 commits March 6, 2026 09:50
Remove hardcoded camera prim paths from OVRTX renderer

Derive the camera prim path from the sensor's resolved view prims
instead of assuming it is always "Camera". This fixes scenes where the
camera lives at a non-default path (e.g.
Robot/ee_link/palm_link/Camera).

- Extract camera relative path from sensor._view at initialization
- Use it for camera bindings, scene partitions, object binding filter,
  and USD camera injection
- Discover cameras by USD type (UsdGeom.Camera) in
create_cloning_attributes
  instead of matching on the "Camera" string
- Add ovrtx_renderer preset to cartpole camera presets env config
# Description

Fixes # (issue)

1. When using render_mode="rgb_array" with headless offscreen rendering
(--enable_cameras), the environment raised:
RuntimeError: Cannot render 'rgb_array' - no GUI and offscreen rendering
not enabled.
Solution:
Updated camera controller initialization condition: Changed from
self.sim.has_gui to self.sim.is_rendering in:
manager_based_env.py

2. Fixed Warp array compatibility in viewport_camera_controller.py:
Added explicit conversions from Warp arrays to PyTorch tensors when
accessing asset position data:
root_pos_w in update_view_to_asset_root()
body_pos_w in update_view_to_asset_body()

3. Camera issue
ViewportCameraController was only initialized when has_gui=True, so
camera tracking didn't work in headless offscreen rendering or when
using visualizers (e.g., --visualizer kit).
Solution:
Changed the initialization condition from self.sim.has_gui to
self.sim.is_rendering to cover GUI, offscreen rendering, RTX sensors,
and visualizers. Also added Warp array conversion for Isaac Lab 3.0
compatibility.

Documentation #

Added a tutorial
(03_compass_with_NuRec/compass_navigation_policy_with_NuRec.rst)
covering:
Installation and setup for COMPASS with Isaac Lab 3.0
Training COMPASS navigation policies using NuRec Real2Sim assets
Deployment workflows for simulation and real robots
Configuration details and best practices
# Description

This PR removes SingleArticulation dependencies from isaacsim in rmpflow
controller implementation, should make rmpflow dependent environments
work again.

this should help isaac-sim#4744

Fixes # (issue)

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
…aac-sim#4850)

# Description

Isaac Sim 6.0 recommends removing explicit extension registry
definitions in Kit files. thus, we are removing the extension registry
setting in all app files.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Antoine RICHARD <antoiner@nvidia.com>
…-sim#4826)

# Description

<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.

Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html

💡 Please try to keep PRs small and focused. Large PRs are harder to
review and merge.
-->

Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

Minor fixes for recent test failures.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)


## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

Brings tests to Newton

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)


## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Co-authored-by: Kelly Guo <kellyg@nvidia.com>
# Description

We still had an isaac sim import in the code that was forcing isaac sim
to be installed even when not requiring to launch isaac sim. This fix
ensures that in a kitless path, we can fully remove the isaac sim
dependency and run in environments that do not have isaac sim installed.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Antoine RICHARD <antoiner@nvidia.com>
# Description

Adds rigid object collections for Newton. Builds ontop of
isaac-sim#4818

## Type of change

- New feature (non-breaking change which adds functionality)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
# Description

Updates Newton to latest RC3 build.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update


## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

This PR fixes dependency issue introduced in merging rsl_Rl

Fixes # (issue)

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

This add support for `debugpy`: installation of the `debugpy` through
`isaaclab`'s `setup.py`; instructions on how to use it.

## Type of change

- New feature (non-breaking change which adds functionality)
- Documentation update

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [NA] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Fixes missing tuple unpack in g1 fixed base teleop config. The env cfg
contains the functionality to highlight how a user could enable the
Isaac Teleop tuning UI, however that introduced a bug when not in use.

Also fixes eager calling of pipeline builder in a few env cfgs causing
import errors when optional isaacteleop module is not installed.

Fixes # (issue)

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Update docs for locomanip sdg with a NuRec background:

1. Include link to download BabyBoom NuRec asset.
2. Export ego centric video in a higher resolution.  

## Type of change

- Documentation update

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

Fixes some missing imports for RSL RL

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
…sing and Let color values fail gracefully in Newton viewer (isaac-sim#4858)

# Description

<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.

Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html

💡 Please try to keep PRs small and focused. Large PRs are harder to
review and merge.
-->

Remove rerun binary from Rerun
Change visualizer name CLI arg parsing
Let color values fail gracefully in Newton viewer

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- Feature

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Co-authored-by: Kelly Guo <kellyg@nvidia.com>
…-sim#4866)

# Description

The shadow hand vision task had been using a fixed camera resolution.

For benchmarking purposes, we want to run the environment at different
resolutions. Adding support to the Feature Extractor to allow for
arbitrary input resolution.

Also fixes an issue with Newton inertia shape.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.

Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html

💡 Please try to keep PRs small and focused. Large PRs are harder to
review and merge.
-->

Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

Co-authored-by: Kelly Guo <kellyg@nvidia.com>
… ImVec4 errors (isaac-sim#4873)

# Description

When running with visualizers, ctrl+c shutdown causes a long stack trace
of errors. Handling that more gracefully so that we don't hit long
errors with keyboard interruptions.

Additionally, Newton visualizer was spamming errors related to ImVec4.
Also fixing the conversion from ImVec4 to tuples.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
# Description

This PR grabs low-ish hanging fruits in CI optimization. (High hanging
ones -- test suite refactoring and optimization).

- Much faster code checkout where entire git history is not needed
(almost everywhere). 18s for pre-commit! 36s for link checks!
- Skip Build/Test jobs on trivial changes that don't touch sources or
docker or tools so GPU machines can be saved for rly important cases. :)
- Run link checker only if PR touches docs and on manual/cron triggers. 
- Multi-version docs only generated on "deploy" branches (prob was
original intent). 9m for Docs step!
- Cleanup of stale docker images from runners so that we can use smaller
but faster (mo IOPS) disks
- Upgrade outdated built-in actions to latest and greatest
- Slight various improvements
- Tried to fix broken links for once. :)

:green_circle: :green_apple:  :green_heart:  

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [NA] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [?] I have added tests that prove my fix is effective or that my
feature works
- [NA] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: myurasov-nv <168484206+myurasov-nv@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
# Description

Some mo CI stuff.

- ECR caching for images and layers. We not only stop building docker 4
times, but layer cache makes necessary builds faaaster!
   - Implemented as drop-in replacement for `build-docker` action.
   - CI task graph is optimized for max cache usage.
   - ECR images are auto-deleted in a day to save costs.
- Removes redundant test results copying step from build.yaml (done in
the run-tests action).
- Optimizes COPY commands in dockerfiles to minimize layer cache
invalidation
- Synced Dockerfile.base and .curobo so they use layer cache maximally

## Type of change

- New feature-ish (non-breaking change which adds functionality)
- Documentation update (`.github/actions/ecr-build-push-pull/README.md`)

## Screenshots

<img width="1191" height="371" alt="image"
src="https://github.com/user-attachments/assets/22fef48e-b38e-4f06-b2de-faff0aa89e15"
/>

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [NA] I have added tests that prove my fix is effective or that my
feature works
- [NA] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Fixes doc build job that was hitting conflicts when checking out develop
branch due to having a local and remote branch of develop.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

Fixed TypeError: 'NoneType' object is not iterable in apply_overrides
when a PresetCfg field is None (e.g. default = None in
NewtonNanDebugCfg). The _apply_node helper now handles None values
instead of unconditionally calling dict().

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

This PR fixes missing wp.to_torch on lift environment termination mdps.
Its likely a careless mistake

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

Co-authored-by: Antoine RICHARD <antoiner@nvidia.com>
…4892)

# Description

Allows preset to be set when using zero and random agents

## Type of change

- New feature (non-breaking change which adds functionality)

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…sim#4890)

# Description

Fixes incorrect PhysX property parsing in Newton replication. This lead
to environment divergences.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
<img width="4272" height="4272" alt="shadow_hand_rgb (Copy)"
src="https://github.com/user-attachments/assets/55f4698e-74d5-40a5-907f-aa3b1e820173"
/>

Add public release of OvRTX as optional dependency

Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
# Description

Adds fixes to G1 locomanipulation workflow

- Command documentation in humanoids_imitation.rst
- Adds missing __init__.py file for G1 pick and place

Fixes # (issue)

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

## Screenshots

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
kellyguo11 and others added 6 commits April 22, 2026 20:02
…5360)

# Description

Adds a new column to the environments list with available presets
defined for all example environments.
Fixes recent doc build errors.

## Type of change

- Documentation update

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Co-authored-by: Kelly Guo <kelly@nvidia.com>
…and shared contract tests (isaac-sim#5179)

# Description

### Summary

Rewrites the Newton `XformPrimView` from scratch with correct local-pose
semantics, a clean site-based architecture, and a shared test contract
that enforces the same invariants across all backends (USD, Fabric,
Newton).

**Key changes:**

- **Fix local poses**: `get_local_poses` / `set_local_poses` now
correctly compute parent-relative transforms on GPU (`inv(parent_world)
* prim_world`) instead of incorrectly returning world poses
- **Fix set_world_poses**: Updates `site_local` offset instead of
writing `body_q` directly (which would move the parent body)
- **Guard against misuse**: Raises `ValueError` if prim path resolves to
a physics body or collision shape — XformPrimView is for non-physics
child prims only (cameras, sensors, markers)
- **Warp-native API**: All inputs/outputs are `wp.array` — no torch/list
conversion overhead
- **Factory dispatch**: `from isaaclab.sim.views import XformPrimView`
now auto-selects the correct backend (USD, Fabric, Newton) via
`XformPrimViewFactory`
- **Composition over inheritance**: PhysX `FabricXformPrimView` uses
composition (`self._usd_view`) instead of inheriting from
`UsdXformPrimView`
- **Explicit class names**: `UsdXformPrimView`, `FabricXformPrimView`,
`NewtonSiteXformPrimView` — no more ambiguous `XformPrimView` in every
package
- **Shared contract tests**: 16 test functions in
`xform_contract_tests.py` that any backend imports and runs by providing
a `view_factory` fixture
- **Benchmark updates**: Both benchmark scripts support Newton, use
warp-native arrays, and include per-backend round-trip verification

### Type of change

- [x] Bug fix (Newton local poses were fundamentally broken — `local ==
world`)
- [x] New feature (shared contract test infrastructure, factory
dispatch)
- [x] Breaking change (Newton `XformPrimView` renamed to
`NewtonSiteXformPrimView`, PhysX to `FabricXformPrimView`; indices
parameter changed from `Sequence[int]` to `wp.array`)
- [x] Documentation update

### Expected failures

- `test_set_world_updates_local[cuda:0]` in Fabric — pre-existing
limitation: `set_world_poses` writes to `omni:fabric:worldMatrix` but
`get_local_poses` reads from USD, so local poses are stale after a
Fabric world write. This will be fixed by the Fabric backend PR (isaac-sim#4923)
which adds `omni:fabric:localMatrix` support.

### Test results

| Backend | Passed | Failed | Skipped |
|---|---|---|---|
| Newton | 40 | 0 | 0 |
| USD | 45 | 0 | 0 |
| Fabric | 15 | 1 (xfail) | 16 (CPU) |
| Camera | 20 | 0 | 0 |
| TiledCamera | 61 | 0 | 0 |
| RayCaster | 5 | 0 | 0 |

### Benchmark (1024 prims, 50 iterations, RTX 5090)

```
========================================================================================================================
BENCHMARK RESULTS: 1024 prims, 50 iterations
========================================================================================================================
Operation                         Isaaclab Usd (ms)   Isaaclab Fabric (ms) Isaaclab Newton Site (ms)
------------------------------------------------------------------------------------------------------------------------
Initialization                               3.7168                 3.6596                39.0608
Get World Poses                              6.6730                 0.0296                 0.0180
Set World Poses                             15.5574                 0.0640                 0.0186
Get Local Poses                              4.6086                 4.5637                 0.0216
Set Local Poses                              6.4680                 6.6221                 0.0218
Get Both (World+Local)                      12.1240                 4.7361                 0.0374
Interleaved World Set->Get                  23.4141                 0.1050                 0.0344
========================================================================================================================

Total                                       72.5619                19.7800                39.2126

========================================================================================================================
```

### Checklist

- [x] I have read and understood the contribution guidelines
- [ ] I have run the pre-commit checks with `./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Antoine Richard <antoiner@nvidia.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
… callback

Calling enable_all_default_callbacks(False) disables the warm_start/PLAY
callback in addition to _on_stop. The warm_start callback initialises the
rendering pipeline on sim.reset(); without it, tiled-camera and visualization-
marker tests produce black frames and wrong outputs.

Replace the blanket disable with a targeted unsubscribe of _default_callback_on_stop
only — that is the sole callback that calls invalidate_physics() and wrecks the
shared omni.physics.tensors view. All other callbacks (warm_start, stage_open,
stage_close) are left intact.

Fixes the following CI failures in PR isaac-sim#5358:
- isaaclab_visualizers
- isaaclab (core) [1/3] — test_tiled_camera, test_multi_tiled_camera,
  test_first_frame_textured_rendering, test_visualization_markers,
  test_ray_caster_camera

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added bug Something isn't working documentation Improvements or additions to documentation asset New asset feature or request isaac-sim Related to Isaac Sim team isaac-mimic Related to Isaac Mimic team infrastructure labels Apr 23, 2026
@preeves-nv preeves-nv marked this pull request as draft April 23, 2026 11:21
@preeves-nv
Copy link
Copy Markdown
Collaborator Author

Superseded by #5371 (cleaner branch, ruff errors fixed).

@preeves-nv preeves-nv closed this Apr 23, 2026
@preeves-nv preeves-nv deleted the preeves/fix-simulation-manager-on-stop branch April 23, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

asset New asset feature or request bug Something isn't working documentation Improvements or additions to documentation infrastructure isaac-mimic Related to Isaac Mimic team isaac-sim Related to Isaac Sim team

Projects

None yet

Development

Successfully merging this pull request may close these issues.